/**
 * Copyright &copy; 2012-2016 <a href="https://www.kaaction.com">KAA</a> All rights reserved.
 */
package com.kaaction.modules.operate.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.kaaction.common.persistence.DataEntity;

/**
 * 客户Entity
 * @author zengbiao
 * @version 2017-04-13
 */
public class Client extends DataEntity<Client> {
	
	private static final long serialVersionUID = 1L;
	private String channelId;		// 来源渠道
	private String activityId;		// 来源活动
	private String name;		// 姓名
	private String gender;		// 性别
	private String mobile;		// 手机号码
	private String address;		// 地址
	private String mail;		// 邮箱
	private String visitNote;		// 回访备注
	private String visitBy;		// 回访人
	private Date visitDate;		// 回访日期
	private String note;		// 其他备注
	
	private String marryScheduleDate;		// 预计结婚日期
	private String marryScheduleFee;		// 结婚预算
	private String idCard; //身份证
	private String userDemands; //
	private String userDemandsOther; //
	
	private Material material;
	private String materialIds; //
	
	public Client() {
		super();
	}

	public Client(String id){
		super(id);
	}

	@Length(min=0, max=64, message="来源渠道长度必须介于 0 和 64 之间")
	public String getChannelId() {
		return channelId;
	}

	public void setChannelId(String channelId) {
		this.channelId = channelId;
	}
	
	@Length(min=0, max=64, message="来源活动长度必须介于 0 和 64 之间")
	public String getActivityId() {
		return activityId;
	}

	public void setActivityId(String activityId) {
		this.activityId = activityId;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}
	
	@Length(min=0, max=20, message="手机号码长度必须介于 0 和 20 之间")
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
	@Length(min=0, max=64, message="地址长度必须介于 0 和 64 之间")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Length(min=0, max=64, message="邮箱长度必须介于 0 和 64 之间")
	public String getMail() {
		return mail;
	}

	public void setMail(String mail) {
		this.mail = mail;
	}
	
	public String getVisitNote() {
		return visitNote;
	}

	public void setVisitNote(String visitNote) {
		this.visitNote = visitNote;
	}
	
	@Length(min=0, max=64, message="回访人长度必须介于 0 和 64 之间")
	public String getVisitBy() {
		return visitBy;
	}

	public void setVisitBy(String visitBy) {
		this.visitBy = visitBy;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getVisitDate() {
		return visitDate;
	}

	public void setVisitDate(Date visitDate) {
		this.visitDate = visitDate;
	}
	
	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	public String getMaterialIds() {
		return materialIds;
	}

	public void setMaterialIds(String materialIds) {
		this.materialIds = materialIds;
	}

	public Material getMaterial() {
		return material;
	}

	public void setMaterial(Material material) {
		this.material = material;
	}

	public String getMarryScheduleDate() {
		return marryScheduleDate;
	}

	public void setMarryScheduleDate(String marryScheduleDate) {
		this.marryScheduleDate = marryScheduleDate;
	}

	public String getMarryScheduleFee() {
		return marryScheduleFee;
	}

	public void setMarryScheduleFee(String marryScheduleFee) {
		this.marryScheduleFee = marryScheduleFee;
	}

	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public String getUserDemands() {
		return userDemands;
	}

	public void setUserDemands(String userDemands) {
		this.userDemands = userDemands;
	}

	public String getUserDemandsOther() {
		return userDemandsOther;
	}

	public void setUserDemandsOther(String userDemandsOther) {
		this.userDemandsOther = userDemandsOther;
	}
	
}